#### 9.1.2 Architecture Extensions

The table below lists the permitted architecture extensions that are supported by the assembler and the conditions under which they are automatically enabled.

Multiple extensions may be specified, separated by a `+`. Extension mnemonics may also be removed from those the assembler accepts. This is done by prepending `no` to the option that adds the extension. Extensions that are removed must be listed after all extensions that have been added.

Enabling an extension that requires other extensions will automatically cause those extensions to be enabled. Similarly, disabling an extension that is required by other extensions will automatically cause those extensions to be disabled.

Extension | Minimum Architecture | Enabled by default | Description
--- | --- | --- | ---
`crc` | ARMv8-A | ARMv8.1-A or later | Enable CRC instructions.
`crypto` | ARMv8-A | No | Enable cryptographic extensions. This implies `fp` and `simd`.
`fp` | ARMv8-A | ARMv8-A or later | Enable floating-point extensions.
`simd` | ARMv8-A | ARMv8-A or later | Enable Advanced SIMD extensions. This implies `fp`.
`pan` | ARMv8-A | ARMv8-A or later | Enable Privileged Access Never support.
`lor` | ARMv8-A | ARMv8-A or later | Enable Limited Ordering Regions extensions.
`rdma` | ARMv8-A | ARMv8-A or later | Enable ARMv8.1 Advanced SIMD extensions. This implies `simd`.
`fp16` | ARMv8.2-A | ARMv8.2-A or later | Enable ARMv8.2 16-bit floating-point support. This implies `fp`.
`profile` | ARMv8.2-A | No | Enable statistical profiling extensions.